<?php
/** 
 *  @author VGireev 
 *	@REVISION:  $Id: C_Controller.php 11 2011-12-18 12:52:37Z host.xserver@gmail.com $
 *  @brief Файл класса C_Controller
 *  © myCompany 2011
 *
 *  Базовый класс контроллера
 *  
 */
abstract class C_Controller
{
	
	function __construct()
	{		
	}
		
	// Полная обработка HTTP запроса
	public function Request()
	{
		$this->OnInput();
		$this->OnOutput();
	}
		
	// Виртуальный обработчик запроса
	protected function OnInput()
	{
	}
	// Виртуальный генератор HTML
	protected function OnOutput()
	{
	}
		
	// Запрос произведен методом GET?
	protected function IsGet()
	{
		return $_SERVER['REQUEST_METHOD'] == 'GET';
	}
		
	// Запрос произведен методом POST?
	protected function IsPost()
	{
		return $_SERVER['REQUEST_METHOD'] == 'POST';
	}
		
	// Генерация HTML шаблона в строку
	protected function View($fileName, $vars = array())
	{
		foreach ($vars as $k => $v) 
			$$k = $v;
	
		ob_start(); 
		include "$fileName"; 
		return ob_get_clean(); 	
	}
		
}
